Telegram Group & Telegram Channel
👣 Как работает разметка диска: парсим MBR и GPT на Go

Отличный технический гайд — как на языке Go реализовать свой инструмент для анализа разделов диска (аналог `fdisk -l`), работая напрямую с «сырыми» байтами.

📌 Что делает утилита:
• Считывает первые 512 байт с диска (MBR)
• Определяет тип таблицы разделов: MBR или GPT
• Парсит нужные структуры (MBRPartition, GPTHeader и др.)
• Выводит информацию о каждом разделе: смещение, размер, активность, тип, имя (для GPT)

🔧 Поддерживается два формата:
1. MBR (Master Boot Record)
• До 4 основных разделов
• Ограничение — 2 ТБ
• Таблица находится в первом секторе (512 байт)
• Каждая запись — 16 байт, с полями CHS, LBA, типом и флагами
• В конце сигнатура 0x55AA

2. GPT (GUID Partition Table)
• Современный стандарт с поддержкой >2 ТБ
• Использует специальные GUID-идентификаторы
• Поддерживает до 128 разделов
• Содержит основной и резервный заголовки + таблицу с метаданными и именами разделов в UTF‑16

📖 Примеры кода в Go:
• Структуры описаны через struct с бинарными полями
• Используется binary.Read для чтения блоков
• Есть вспомогательные функции для расшифровки типов и конвертации размеров

Выводит таблицу всех разделов, включая размер, активность, смещение и, при GPT, имя раздела.

💡 Почему это полезно:
• Позволяет лучше понять, как устроена разметка дисков
• Учит читать бинарные форматы и парсить их в Go
• Подходит для системного программирования, утилит, диагностики и низкоуровневой работы с железом

🧪 Автор также упоминает возможные улучшения:
• Проверка CRC
• Поддержка расширенных и логических разделов
• Чтение заголовков файловых систем
• Реализация в WebAssembly для запуска в браузере

📎 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/golang_books/996
Create:
Last Update:

👣 Как работает разметка диска: парсим MBR и GPT на Go

Отличный технический гайд — как на языке Go реализовать свой инструмент для анализа разделов диска (аналог `fdisk -l`), работая напрямую с «сырыми» байтами.

📌 Что делает утилита:
• Считывает первые 512 байт с диска (MBR)
• Определяет тип таблицы разделов: MBR или GPT
• Парсит нужные структуры (MBRPartition, GPTHeader и др.)
• Выводит информацию о каждом разделе: смещение, размер, активность, тип, имя (для GPT)

🔧 Поддерживается два формата:
1. MBR (Master Boot Record)
• До 4 основных разделов
• Ограничение — 2 ТБ
• Таблица находится в первом секторе (512 байт)
• Каждая запись — 16 байт, с полями CHS, LBA, типом и флагами
• В конце сигнатура 0x55AA

2. GPT (GUID Partition Table)
• Современный стандарт с поддержкой >2 ТБ
• Использует специальные GUID-идентификаторы
• Поддерживает до 128 разделов
• Содержит основной и резервный заголовки + таблицу с метаданными и именами разделов в UTF‑16

📖 Примеры кода в Go:
• Структуры описаны через struct с бинарными полями
• Используется binary.Read для чтения блоков
• Есть вспомогательные функции для расшифровки типов и конвертации размеров

Выводит таблицу всех разделов, включая размер, активность, смещение и, при GPT, имя раздела.

💡 Почему это полезно:
• Позволяет лучше понять, как устроена разметка дисков
• Учит читать бинарные форматы и парсить их в Go
• Подходит для системного программирования, утилит, диагностики и низкоуровневой работы с железом

🧪 Автор также упоминает возможные улучшения:
• Проверка CRC
• Поддержка расширенных и логических разделов
• Чтение заголовков файловых систем
• Реализация в WebAssembly для запуска в браузере

📎 Читать

BY Golang Books




Share with your friend now:
tg-me.com/golang_books/996

View MORE
Open in Telegram


Golang Books Telegram | DID YOU KNOW?

Date: |

What is Telegram Possible Future Strategies?

Cryptoassets enthusiasts use this application for their trade activities, and they may make donations for this cause.If somehow Telegram do run out of money to sustain themselves they will probably introduce some features that will not hinder the rudimentary principle of Telegram but provide users with enhanced and enriched experience. This could be similar to features where characters can be customized in a game which directly do not affect the in-game strategies but add to the experience.

If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.

Golang Books from jp


Telegram Golang Books
FROM USA